package com.ruoyi.business.service.impl;

import com.ruoyi.business.domain.BusGzzdgl;
import com.ruoyi.business.domain.vo.BusGzzdglSaveVO;
import com.ruoyi.business.mapper.BusGzzdglMapper;
import com.ruoyi.business.service.IBusGzzdglService;
import com.ruoyi.business.utils.BusOperatorUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 规则制度管理Service业务层处理
 *
 * @author yaowei
 * @date 2021-07-01
 */
@Service
public class BusGzzdglServiceImpl implements IBusGzzdglService {
    @Autowired
    private BusGzzdglMapper busGzzdglMapper;

    /**
     * 查询规则制度管理
     *
     * @param id 规则制度管理ID
     * @return 规则制度管理
     */
    @Override
    public BusGzzdgl selectBusGzzdglById(Long id) {
        return busGzzdglMapper.selectBusGzzdglById(id);
    }

    /**
     * 查询规则制度管理列表
     *
     * @param busGzzdgl 规则制度管理
     * @return 规则制度管理
     */
    @Override
    public List<BusGzzdgl> selectBusGzzdglList(BusGzzdgl busGzzdgl) {
        return busGzzdglMapper.selectBusGzzdglList(busGzzdgl);
    }

    /**
     * 新增规则制度管理
     *
     * @param busGzzdglSaveVO 规则制度管理
     * @return 结果
     */
    @Override
    public int insertBusGzzdgl(BusGzzdglSaveVO busGzzdglSaveVO) {
        BusGzzdgl busGzzdgl = BeanUtils.copyBean(busGzzdglSaveVO, new BusGzzdgl());
        BusOperatorUtils.setOperator(busGzzdgl);
        return busGzzdglMapper.insertBusGzzdgl(busGzzdgl);
    }

    /**
     * 修改规则制度管理
     *
     * @param busGzzdglSaveVO 规则制度管理
     * @return 结果
     */
    @Override
    public int updateBusGzzdgl(BusGzzdglSaveVO busGzzdglSaveVO) {
        Long id = busGzzdglSaveVO.getId();
        BusGzzdgl busGzzdgl = busGzzdglMapper.selectBusGzzdglById(id);
        BeanUtils.copyBean(busGzzdglSaveVO, busGzzdgl);
        BusOperatorUtils.setOperator(busGzzdgl);
        return busGzzdglMapper.updateBusGzzdgl(busGzzdgl);
    }

    /**
     * 批量删除规则制度管理
     *
     * @param ids 需要删除的规则制度管理ID
     * @return 结果
     */
    @Override
    public int deleteBusGzzdglByIds(Long[] ids) {
        return busGzzdglMapper.deleteBusGzzdglByIds(ids);
    }

    /**
     * 删除规则制度管理信息
     *
     * @param id 规则制度管理ID
     * @return 结果
     */
    @Override
    public int deleteBusGzzdglById(Long id) {
        return busGzzdglMapper.deleteBusGzzdglById(id);
    }
}
